Programmable remote controls are currently available in the consumer market. Most programmable remote controls can be placed into one of two segments: universal remote controls and customizable remote controls. Universal remote controls are generally pre-programmed with remote commands for a variety of devices across a range of device manufacturers. A user can input a device code into a universal remote control in order for the remote to mimic the remote commands of a specific device from a specific manufacturer. Some universal remotes allow for switching between a small variety (e.g., up to 4) of devices that might be used within a home theater system, such as between a TV, stereo, cable box and DVD player, by the press of a single button to select the desired device.
Customizable remote controls, on the other hand, offer significantly increased flexibility to the user, including the ability to reassign remote commands to different buttons and to allow specific buttons to output remote commands for a first device from a first manufacturer, while other buttons output remote commands for a second device from a second manufacturer, without requiring the remote to be placed into a different mode for the second device. Some customizable remotes also allow multiple commands to be sent in sequence with the press of a single button, such as to turn on all components in a home theater system and set device modes appropriately for a particular activity. Programming of such a customizable remote control by a user offers additional challenges beyond simply entering single pin codes to select single devices, however, and software programs and websites are typically used to generate and setup a customizable remote. As compared to universal remotes, customizable remotes also carry a significantly higher price tag—some customizable remote controls may cost up to 20 or 30 times more than a simple universal remote control.